Data storage device employing sliding mode control of spindle motor

ABSTRACT

A data storage device is disclosed comprising a head actuated over a disk, and a spindle motor configured to rotate the disk. A speed of the spindle motor is sampled, and an error signal is generated based on a difference between the sampled speed and a target speed. A sliding mode control signal for controlling a speed of the spindle motor is generated based on a first non-zero gain when the error signal is greater than zero and less than a first positive threshold, and a second non-zero gain when the error signal is greater than the first positive threshold.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No. 14/287,511, filed on May 27, 2014 (Atty. Docket No. T6961), which is hereby incorporated by reference in its entirety.

BACKGROUND

Data storage devices such as disk drives comprise a disk and a head connected to a distal end of an actuator arm which is rotated about a pivot by a voice coil motor (VCM) to position the head radially over the disk. The disk comprises a plurality of radially spaced, concentric tracks for recording user data sectors and servo sectors. The servo sectors comprise head positioning information (e.g., a track address) which is read by the head and processed by a servo control system to control the actuator arm as it seeks from track to track.

A spindle motor rotates the disk (or disks) at a high speed so that the head essentially flies over the disk surface on an air bearing. When accessing the disk during write/read operations, it is typically important for the spindle motor to maintain the disk at a target rotation speed so as to maintain a target data rate when writing data to the disk and reading data from the disk. Certain disturbances affecting the spindle motor may cause the rotation speed to deviate significantly from the target rotation speed. For example, tilting the disk drive may cause a large underspeed disturbance due to a gyroscopic effect. A linear controller, such as a proportional/integral or PI controller, may be unable to sufficiently compensate for these large disturbances and may even become unstable due to the controller saturating the digital-to-analog converter (DAC) that generates the control signal (e.g., current) applied to the spindle motor.

FIG. 1 shows a prior art disk format 2 as comprising a number of servo tracks 4 defined by servo sectors 6 ₀-6 _(N) recorded around the circumference of each servo track. Each servo sector 6 _(i) comprises a preamble 8 for storing a periodic pattern, which allows proper gain adjustment and timing synchronization of the read signal, and a sync mark 10 for storing a special pattern used to symbol synchronize to a servo data field 12. The servo data field 12 stores coarse head positioning information, such as a servo track address, used to position the head over a target data track during a seek operation. Each servo sector 6 _(i) further comprises groups of servo bursts 14 (e.g., N and Q servo bursts), which are recorded with a predetermined phase relative to one another and relative to the servo track centerlines. The phase based servo bursts 14 provide fine head position information used for centerline tracking while accessing a data track during write/read operations. A position error signal (PES) is generated by reading the servo bursts 14, wherein the PES represents a measured position of the head relative to a centerline of a target servo track. A servo controller processes the PES to generate a control signal applied to a head actuator (e.g., a voice coil motor) in order to actuate the head radially over the disk in a direction that reduces the PES.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a prior art disk format comprising a plurality of servo tracks defined by servo sectors.

FIG. 2A shows a data storage device in the form of a disk drive according to an embodiment comprising a head actuated over a disk that is rotated by a spindle motor.

FIG. 2B shows a sliding mode control embodiment wherein a control signal for controlling a speed of the spindle motor is generated based on a first non-zero gain when the error signal is greater than zero and less than a first positive threshold, and based on a second non-zero gain when the error signal is greater than the first positive threshold.

FIG. 3A shows a sliding mode control embodiment wherein a speed of the spindle motor is sampled at a sampling rate that is adjusted based on a difference between the sampled speed and a target speed.

FIG. 3B shows a sliding mode control embodiment wherein the control signal for controlling the speed of the spindle motor is substantially zero when the error signal is within a dead zone.

FIG. 3C shows a sliding mode control embodiment wherein the control signal for controlling the speed of the spindle motor is generated based on switching gains without a boundary layer.

FIG. 3D shows a sliding mode control embodiment wherein the control signal for controlling the speed of the spindle motor is generated based on switching gains with a boundary layer.

DETAILED DESCRIPTION

FIG. 2A shows a data storage device in the form of a disk drive according to an embodiment comprising a head 16 actuated over a disk 18, and a spindle motor 20 configured to rotate the disk 18. The disk drive further comprises control circuitry 22 operable to sample a speed 24 of the spindle motor, and generate an error signal 26 based on a difference between the sampled speed 24 and a target speed 28. A sliding mode control signal 30 for controlling a speed of the spindle motor 20 is generated based on a first non-zero gain G1 (e.g., FIG. 2B) when the error signal 26 is greater than zero and less than a first positive threshold +Th1, and a second non-zero gain G2 when the error signal 26 is greater than the first positive threshold +Th1.

In the embodiment of FIG. 2A, the disk 18 comprises a plurality of servo tracks 32 defined by servo sectors 34 ₀-34 _(N), wherein data tracks are defined relative to the servo tracks at the same or different radial density. The control circuitry 22 processes a read signal 36 emanating from the head 16 to demodulate the servo sectors 34 ₀-34 _(N) and generate a position error signal (PES) representing an error between the actual position of the head and a target position relative to a target track. The control circuitry 22 filters the PES using a suitable compensation filter to generate a control signal 38 applied to a voice coil motor (VCM) 40 which rotates an actuator arm 42 about a pivot in order to actuate the head 16 radially over the disk 18 in a direction that reduces the PES. The servo sectors 34 ₀-34 _(N) may comprise any suitable head position information, such as a track address for coarse positioning and servo bursts for fine positioning. The servo bursts may comprise any suitable pattern, such as an amplitude based servo pattern or a phase based servo pattern.

Block 44 of FIG. 2A may sample the speed 24 of the spindle motor 20 in any suitable manner. In one embodiment, the speed of the spindle motor 20 may be sampled by evaluating the back electromotive force (BEMF) voltage in each winding of the spindle motor 20. The spindle motor 20 typically operates according to a plurality of electrical cycles over a single revolution, wherein the total number of electrical cycles depends on the number of pole-pairs employed in the spindle motor 20. For example, a 6-pole-pair spindle motor will generate six electrical cycles over a single revolution. In one embodiment, the speed of the spindle motor 20 may be sampled by measuring the frequency of the electrical cycles, such as by detecting when the BEMF voltage crosses a threshold (e.g., zero-crossings). In another embodiment, the speed of the spindle motor 20 may be sampled based on the frequency of the detected servo sectors 34 ₀-34 _(N). For example, the frequency of the detected servo sectors 34 ₀-34 _(N) may be determined by measuring the interval between consecutive servo sectors (the wedge-to-wedge time).

In one embodiment, block 46 of FIG. 2A generates the sliding mode control signal 30 applied to the spindle motor 20 in order to maintain the spindle motor at the target speed 28. Referring to the embodiment of FIG. 2B, when the error signal 26 representing the error between the sampled speed 24 and the target speed 28 exceeds a first positive threshold +Th1, the sliding mode control signal 30 is generated by multiplying the error signal 26 by a gain G2. When the error signal 26 exceeds a second positive threshold +Th2, the sliding mode control signal is saturated, such as by saturating a digital-to-analog converter (DAC) used to generate the sliding mode control signal 30, or otherwise limiting the amplitude of the sliding mode control signal 30 (e.g., through firmware). When the error signal 26 is less than the first positive threshold +Th1 (but greater than zero), the sliding mode control signal 30 is generated by multiplying the error signal 26 by a gain G1 that is less than the gain G2. When the error signal 26 is negative, the sliding mode control signal 30 is similarly generated based on thresholds −Th1 and −Th2 as well as a gain G3 which may be the same or different from G2. As illustrated in the example of FIG. 2B, the sliding mode control signal 30 may be generated asymmetrically relative to the polarity of the error signal 26.

In one embodiment, employing a sliding mode control algorithm to control the speed of the spindle motor 20 provides improved disturbance compensation, such as by saturating the sliding mode control signal 30 during a large disturbance while maintaining stability of the speed control loop. In one embodiment, the gains G2 and G3 may be selected so that the sliding mode control signal 30 quickly reaches saturation in the presence of a large disturbance, thereby decreasing the response time to compensate for the disturbance without losing stability as may happen when employing a linear control algorithm, such as with a proportional-integral (PI) algorithm.

In one embodiment, it may be desirable to reduce the switching noise (chatter) caused by a sliding mode controller when the error signal 26 is near zero while still ensuring the error signal 26 is eventually driven to zero so that the spindle motor 20 maintains the target speed 28. In the embodiment of FIG. 2B, this is accomplished by changing the gain of the sliding mode control 46 from G2 or G3 to G1 when the error signal 26 falls below the threshold Th1. In this manner, when the error signal 26 is near zero (less than threshold Th1), the sliding mode control 46 may switch between a negative and positive control signal, but the amplitude of the control signal is reduced which reduces chatter. To further reduce chatter and/or other transients, in one embodiment a first slope of the sliding mode control signal defined by the non-zero gain G1 is contiguous with a second slope of the sliding mode control signal defined by the non-zero gain G2 as illustrated in FIG. 2B. In this manner, there is a smooth transition when the sliding mode control 46 switches between the gains G1 and G2 or between the gains G1 and G3.

FIG. 3A illustrates another embodiment of the present invention wherein the control circuitry 22 of FIG. 2A is configured to sample a speed of the spindle motor 20 at a sampling rate, and when the error signal 26 exceeds a threshold Th, the control circuitry 22 increases the sampling rate. In one embodiment, increasing the sampling rate of the spindle motor speed to thereby increase the sampling rate of the error signal 26 improves the performance of the sliding mode control 46 by decreasing the response time and/or decreasing chatter. The sampling rate of the spindle motor speed may be increased in any suitable manner, such as by increasing the frequency that the BEMF voltage generated by the spindle motor is evaluated. For example, in one embodiment a single zero-crossing may be detected in the BEMF voltage per revolution when the error signal 26 is less than the threshold Th, whereas multiple zero-crossings may be detected in the BEMF voltage per revolution, such as by monitoring multiple of the electrical cycles in the BEMF voltage. In an embodiment wherein the spindle motor speed is sampled based on the servo sectors 34 ₀-34 _(N), the sampling period may be a rotational duration for a single servo sector to rotate a full revolution when the error signal 26 is less than the threshold Th, whereas the sampling period may be decreased by evaluating a rotational duration between at least two of the servo sectors up to the rotational duration (wedge-to-wedge time) between each servo sector.

Although in the embodiment of FIG. 3A the sampling rate of the spindle motor speed is increased based on a single threshold, other embodiments may employ multiple thresholds so that the sampling rate may be incrementally increased as the error signal 26 increases in magnitude. In other embodiments, there may be asymmetry between a positive threshold +Th and a negative threshold −Th used to adjust the sampling rate of the spindle motor speed.

In one embodiment, after increasing the sampling rate of the spindle motor speed due to the error signal 26 exceeding one of the thresholds +Th or −Th, there may be a delay in decreasing the sampling rate after the error signal 26 falls below the threshold. In another embodiment, there may be multiple thresholds for implementing hysteresis when adjusting the sampling rate. For example, there may be a first positive threshold +Th1 and a second positive threshold +Th2 greater than +Th1. The sampling rate may be increased when the error signal 26 exceeds +Th2, and then decreased when the error signal 26 falls below +Th1.

Any suitable sliding mode control 46 may be employed in the embodiment where the sampling rate of the error signal 26 is adjusted based on the magnitude of the error signal 26. FIG. 3B shows a sliding mode control 46 comprising a dead zone wherein the sliding mode control signal 30 is disabled (zeroed) as the error signal 26 approaches zero in order to reduce chatter. That is, in one embodiment the gain G1 of FIG. 2B is zero such that the sliding mode control signal 30 is zero within the dead zone.

FIG. 3C shows another embodiment wherein a saturated sliding mode control signal 30 is generated at a polarity corresponding to the polarity of the error signal 26.

That is, the sliding mode control 46 in the embodiment of FIG. 3C may operate only in a saturation mode without transition zones defined by gains (e.g., gains G1, G2 and G3 as in FIG. 2A) and without a dead zone. FIG. 3D shows yet another embodiment of a sliding mode control 46 that employs a boundary layer defined near the zero point of the error signal 26, wherein the sliding mode control signal 30 is generated using hysteresis. That is, the polarity of the sliding mode control signal 30 may not switch until the error signal 26 exceeds the hysteresis threshold at the border of the boundary layer which may reduce chatter. Other embodiments may employ a sliding mode control 46 implementing a combination of the features illustrated in the figures. For example, the saturated sliding mode control of FIG. 3C may also implement a dead zone such as shown in the embodiment of FIG. 3B.

Any suitable control circuitry may be employed to implement the flow diagrams in the above embodiments, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a disk controller, or certain operations described above may be performed by a read channel and others by a disk controller. In one embodiment, the read channel and disk controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or disk controller circuit, or integrated into a SOC.

In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the disk and read into a volatile semiconductor memory when the disk drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.

While the above examples concern a disk drive, the various embodiments are not limited to a disk drive and can be applied to other data storage devices and systems, such as magnetic tape drives, solid state drives, hybrid drives, etc. In addition, some embodiments may include electronic devices such as computing devices, data server devices, media content storage devices, etc. that comprise the storage media and/or control circuitry as described above.

The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method, event or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined in a single block or state. The example tasks or events may be performed in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.

While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the embodiments disclosed herein. 

What is claimed is:
 1. A data storage device comprising: a head actuated over a disk; a spindle motor configured to rotate the disk; and control circuitry configured to: sample a speed of the spindle motor at a sampling rate; generate an error signal based on a difference between the sampled speed and a target speed; generate a sliding mode control signal for controlling a speed of the spindle motor based on the error signal; and when the error signal exceeds a threshold, increase the sampling rate.
 2. The data storage device as recited in claim 1, wherein the control circuitry is further configured to: sample the speed of the spindle motor based on a back electromotive force (BEMF) voltage generated by the spindle motor; when the error signal is less than the threshold, sample the speed once per revolution of the disk; and when the error signal exceeds the threshold, sample the speed at least twice per revolution of the disk.
 3. The data storage device as recited in claim 2, wherein: the BEMF voltage crosses a threshold at least twice per revolution of the disk; and the control circuitry is further configured to sample the speed based on a duration between the BEMF voltage crossings.
 4. The data storage device as recited in claim 1, wherein the disk comprises a plurality of servo sectors and the control circuitry is further configured to sample the speed of the spindle motor based on the servo sectors.
 5. The data storage device as recited in claim 4, wherein the control circuitry is further configured to sample the speed based on a duration between the servo sectors.
 6. A method of operating data storage device, the method comprising: sampling a speed of a spindle motor at a sampling rate; generating an error signal based on a difference between the sampled speed and a target speed; generating a sliding mode control signal for controlling a speed of the spindle motor based on the error signal; and when the error signal exceeds a threshold, increasing the sampling rate.
 7. The method as recited in claim 6, further comprising: sampling the speed of the spindle motor based on a BEMF voltage generated by the spindle motor; when the error signal is less than the threshold, sampling the speed once per revolution of the disk; and when the error signal exceeds the threshold, sampling the speed at least twice per revolution of the disk.
 8. The method as recited in claim 7, wherein: the BEMF voltage crosses a threshold at least twice per revolution of the disk; and the method further comprises sampling the speed based on a duration between the BEMF voltage crossings.
 9. The method as recited in claim 6, wherein the disk comprises a plurality of servo sectors and the method further comprises sampling the speed of the spindle motor based on the servo sectors.
 10. The method as recited in claim 9, further comprising sampling the speed based on a duration between the servo sectors. 